package cn.tedu.csmall.passport.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 修改管理员信息的参数类
 */
@Data
@Accessors(chain = true)
public class AdminUpdateInfoParam implements Serializable {

    @ApiModelProperty(value = "管理员名称")
    private String username;

    @ApiModelProperty(value = "管理员密码")
    private String password;

    @ApiModelProperty(value = "管理员昵称")
    private String nickname;

    @NotNull(message = "必须提交管理员头像地址")
    @ApiModelProperty(value = "管理员头像地址", required = true)
    private String avatar;

    @NotNull(message = "必须提交管理员手机号码")
    @ApiModelProperty(value = "管理员手机号码", required = true)
    private String phone;
    private String email;
    private String description;

    @NotNull(message = "必须提交管理员权限码")
    @Range(max = 1, message = "修改管理员信息失败，权限码必须在0~1之间")
    @ApiModelProperty(value = "管理员权限码", required = true)
    private Integer enable;

    @NotNull(message = "必须提交管理员角色")
    @Range(min = 1, message = "修改管理员信息失败，角色数据必须为数字且大于0的整数")
    @ApiModelProperty(value = "管理员角色数据", required = true)
    private Long[] roleIds;
}
